package com.liuzu.esys.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liuzu.esys.common.LayuiPageVo;
import com.liuzu.esys.mapper.TimecardMapper;
import com.liuzu.esys.pojo.Timecard;
import com.liuzu.esys.pojo.User;
import com.liuzu.esys.service.TimecardService;
import com.liuzu.esys.vo.TypeBarVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * @author : 逸少
 * @time : 2022/7/25
 * @desc : 考勤列表实现
 */
@Service("timecardService")
public class TimecardServiceImpl implements TimecardService {
    @Autowired
    private TimecardMapper timecardMapper;

    @Override
    public LayuiPageVo<Timecard> timecardPagData(Map<String, Object> params) {
        //mybatis 的分页插件
        Integer page = Integer.parseInt(params.get("page") + "");
        Integer limit = Integer.parseInt(params.get("limit") + "");
        PageHelper.startPage(page, limit);
        List<Timecard> timecard = timecardMapper.selectByParams(params);

        //mybatis 的分页数据结构
        PageInfo<Timecard> timecardPageInfo = new PageInfo<>(timecard);
        //把 mybatis 的分页 数据 封装到 layui 的分页数据中

        LayuiPageVo<Timecard> timecardLayuiPageVo = new LayuiPageVo<>();
        timecardLayuiPageVo.setCode(0);//layui 默认 0 是正确的状态码
        timecardLayuiPageVo.setMsg("分页列表数据");//提示信息
        timecardLayuiPageVo.setCount(timecardPageInfo.getTotal());//总记录数
        timecardLayuiPageVo.setData(timecardPageInfo.getList());//分页的列表数据
        return timecardLayuiPageVo;
    }

    @Override
    public List<Timecard> TimecardList() {
        return null;
    }


    @Override
    public int addTimecard(Timecard timecard) {
        return timecardMapper.addTimecard(timecard);
    }

//    public List<TypeBarVo> judgeBarData {
//        List<typeBarVo> list = timecardMapper.
//        return null;
//    }  @Override


//    @Override
//    public List<TypeBarVo> judgePieData() {
//        return null;
//    }



    @Override
    public int timecardUpdate(Timecard timecard) {

        return timecardMapper.TimecardUpdate(timecard);
    }

    @Override
    public int timecardDelete(int id) {

        return timecardMapper.TimecardDelete(id);
    }
}
